Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Стовпцевий шифр.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Електронні обчислювальні машини

Інформація про роботу

Рік:
2005
Тип роботи:
Лабораторна робота
Предмет:
Захист інформації в комп’ютерних системах
Група:
КI

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ національний університет “Львівська політехніКА” КАФЕДРА ЕЛЕКТРОННИХ ОБЧИСЛЮВАЛЬНИХ МАШИН Лабораторна робота №5 з курсу “Захист інформації” на тему: “Стовпцевий шифр” Виконала: ст. гр. КІ-4 Львів-2005 Мета роботи: зашифрувати стовпцевим шифром довільне повідомлення. Теоретичні відомості Шифри перестановки В перестановочному шифрі змінюється не відкритий текст, а порядок символів. В простому стовпцевому перестановочному шифрі відкритий текст пишеться горизонтально на розграфленому листку паперу фіксованої ширини, а шифротекст зчитується по вертикалі. Дешифрування являє собою запис шифротексту вертикально на листку розграфленого паперу фіксованої ширини і потім зчитування відкритого тексту горизонтально. Криптоаналіз Так як символи шифротексту ті ж, що і в відкритому тексті, частотний аналіз шифротексту покаже, що кожна буква зустрічається приблизно з такою ж частотою, що й зазвичай. Це дасть криптоаналітику можливість застосувати різні методи, визначаючи правильний порядок символів для отримання відкритого тексту. Текст програми: Програма, що шифрує повідомлення: // Лабораторна робота №5 з Захисту інформації // Виконала: ст.гр.КІ-47 Фірсова Юлія // Програма виконує шифрування тексту, що знаходиться в файлі text.txt // стовпцевим методом і виводить зашифрований текст в файл output.txt #include <stdio.h> #include <stdlib.h> #include <math.h> #define max_rows 20 // максимальна кількість рядків в масиві #define max_columns 20 // максимальна кількість стовпців в масиві int main() { FILE * f_in; // вказівник на вхідний файл FILE * f_out; // вказівник на файл з зашифрованим текстом char ch; // символьна змінна для збереження зчитаних з вхідного файлу символів int txt_length=0; // довжина тексту для шифрування ( початкове значення дор. 0) int array_rows=0; // кількість зайнятих рядків в масиві int array_columns=0; // кількість зайнятих стовпців в масиві int tmp; // змінна для проміжних результатів обчислень int i,j; // лічильники циклу char buf[max_rows][max_rows]; // масив, з допомогою якого здійснюється шифрування тексту // Відкриваємо вхідний та вихідний файли if((f_in=fopen("text.txt","r")) == NULL) { printf("Unable to open input file text.txt\n"); exit(1); } if((f_out=fopen("output.txt","w")) == NULL) { printf("Unable to open output file output.txt\n"); exit(1); } // Визначаємо довжину тексту, який необхідно зашифрувати fscanf(f_in,"%c",&ch); while(!feof(f_in)) { // Пробіли і символи переходу на новий рядок не враховуємо if ( (ch != ' ') && (ch != '\n')) txt_length++; fscanf(f_in,"%c",&ch); } // Довжина тексту не перевищує максимальної? if (txt_length > 400) { printf("Text to encode is too long. Please input the shorter text, and run this program again. Bye!"); exit(1); } // Знову відкриваємо вхідний файл для читання спочатку fclose(f_in); f_in=fopen("text.txt", "r"); // Визначення кількості рядків і стовпців масиву, які будуть зайняті текстом array_rows = sqrt(txt_length); array_columns = array_rows; tmp = txt_length - array_rows*array_rows; if ( tmp >= array_rows) { array_rows++; array_columns++; } else if( tmp>0) array_columns++; // Початкове обнулення масиву for (i=0; i<max_rows; i++) { for (j=0; j<max_columns; j++) { buf[i][j]=0; } } // Запис даних з файлу в масив порядково fscanf(f_in,"%c",&ch); for (i=0; i<=array_rows-1; i++) { for (j=0; j<=array_columns-1; j++) { while ( (ch == ' ') || (ch == '\n'))// пробіли і символу переходу на новий ...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини